{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "consolidated-vault",
   "metadata": {},
   "source": [
    "# Hierarchical Risk Parity\n",
    "\n",
    "HRP is a modern portfolio optimization method inspired by machine learning.\n",
    "\n",
    "The idea is that by examining the hierarchical structure of the market, we can better diversify. \n",
    "\n",
    "In this cookbook recipe, we will cover:\n",
    "\n",
    "- Downloading data for HRP\n",
    "- Using HRP to find the minimum variance portfolio\n",
    "- Plotting dendrograms\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "saving-safety",
   "metadata": {},
   "source": [
    "## Downloading data\n",
    "\n",
    "HRP only requires historical returns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "committed-riverside",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'1.3.1'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import yfinance as yf\n",
    "import pypfopt\n",
    "\n",
    "pypfopt.__version__"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "accredited-enterprise",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[*********************100%***********************]  15 of 15 completed\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AAPL</th>\n",
       "      <th>AMD</th>\n",
       "      <th>BAC</th>\n",
       "      <th>BLK</th>\n",
       "      <th>CVS</th>\n",
       "      <th>DIS</th>\n",
       "      <th>INTU</th>\n",
       "      <th>JD</th>\n",
       "      <th>MA</th>\n",
       "      <th>NVDA</th>\n",
       "      <th>PBI</th>\n",
       "      <th>TGT</th>\n",
       "      <th>TM</th>\n",
       "      <th>UL</th>\n",
       "      <th>WMT</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2021-01-22</th>\n",
       "      <td>139.070007</td>\n",
       "      <td>92.790001</td>\n",
       "      <td>31.549999</td>\n",
       "      <td>735.049988</td>\n",
       "      <td>74.120003</td>\n",
       "      <td>172.779999</td>\n",
       "      <td>374.850006</td>\n",
       "      <td>94.910004</td>\n",
       "      <td>328.989990</td>\n",
       "      <td>548.500000</td>\n",
       "      <td>7.19</td>\n",
       "      <td>191.910004</td>\n",
       "      <td>147.949997</td>\n",
       "      <td>59.660000</td>\n",
       "      <td>146.330002</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-01-25</th>\n",
       "      <td>142.919998</td>\n",
       "      <td>94.129997</td>\n",
       "      <td>31.160000</td>\n",
       "      <td>722.979980</td>\n",
       "      <td>73.209999</td>\n",
       "      <td>171.889999</td>\n",
       "      <td>374.429993</td>\n",
       "      <td>98.379997</td>\n",
       "      <td>329.190002</td>\n",
       "      <td>546.130005</td>\n",
       "      <td>7.53</td>\n",
       "      <td>190.149994</td>\n",
       "      <td>146.720001</td>\n",
       "      <td>60.970001</td>\n",
       "      <td>146.199997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-01-26</th>\n",
       "      <td>143.160004</td>\n",
       "      <td>94.709999</td>\n",
       "      <td>30.940001</td>\n",
       "      <td>721.849976</td>\n",
       "      <td>74.230003</td>\n",
       "      <td>169.559998</td>\n",
       "      <td>374.799988</td>\n",
       "      <td>96.970001</td>\n",
       "      <td>327.700012</td>\n",
       "      <td>537.409973</td>\n",
       "      <td>13.63</td>\n",
       "      <td>187.699997</td>\n",
       "      <td>145.979996</td>\n",
       "      <td>60.900002</td>\n",
       "      <td>147.509995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-01-27</th>\n",
       "      <td>142.059998</td>\n",
       "      <td>88.839996</td>\n",
       "      <td>29.830000</td>\n",
       "      <td>697.789978</td>\n",
       "      <td>72.419998</td>\n",
       "      <td>163.029999</td>\n",
       "      <td>363.109985</td>\n",
       "      <td>90.089996</td>\n",
       "      <td>315.489990</td>\n",
       "      <td>516.710022</td>\n",
       "      <td>10.81</td>\n",
       "      <td>178.279999</td>\n",
       "      <td>142.639999</td>\n",
       "      <td>59.340000</td>\n",
       "      <td>143.839996</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-01-28</th>\n",
       "      <td>137.089996</td>\n",
       "      <td>87.519997</td>\n",
       "      <td>30.320000</td>\n",
       "      <td>719.909973</td>\n",
       "      <td>72.610001</td>\n",
       "      <td>171.880005</td>\n",
       "      <td>369.950012</td>\n",
       "      <td>91.410004</td>\n",
       "      <td>324.279999</td>\n",
       "      <td>522.039978</td>\n",
       "      <td>9.27</td>\n",
       "      <td>183.580002</td>\n",
       "      <td>143.300003</td>\n",
       "      <td>59.080002</td>\n",
       "      <td>143.750000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                  AAPL        AMD        BAC         BLK        CVS  \\\n",
       "Date                                                                  \n",
       "2021-01-22  139.070007  92.790001  31.549999  735.049988  74.120003   \n",
       "2021-01-25  142.919998  94.129997  31.160000  722.979980  73.209999   \n",
       "2021-01-26  143.160004  94.709999  30.940001  721.849976  74.230003   \n",
       "2021-01-27  142.059998  88.839996  29.830000  697.789978  72.419998   \n",
       "2021-01-28  137.089996  87.519997  30.320000  719.909973  72.610001   \n",
       "\n",
       "                   DIS        INTU         JD          MA        NVDA    PBI  \\\n",
       "Date                                                                           \n",
       "2021-01-22  172.779999  374.850006  94.910004  328.989990  548.500000   7.19   \n",
       "2021-01-25  171.889999  374.429993  98.379997  329.190002  546.130005   7.53   \n",
       "2021-01-26  169.559998  374.799988  96.970001  327.700012  537.409973  13.63   \n",
       "2021-01-27  163.029999  363.109985  90.089996  315.489990  516.710022  10.81   \n",
       "2021-01-28  171.880005  369.950012  91.410004  324.279999  522.039978   9.27   \n",
       "\n",
       "                   TGT          TM         UL         WMT  \n",
       "Date                                                       \n",
       "2021-01-22  191.910004  147.949997  59.660000  146.330002  \n",
       "2021-01-25  190.149994  146.720001  60.970001  146.199997  \n",
       "2021-01-26  187.699997  145.979996  60.900002  147.509995  \n",
       "2021-01-27  178.279999  142.639999  59.340000  143.839996  \n",
       "2021-01-28  183.580002  143.300003  59.080002  143.750000  "
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tickers = [\"BLK\", \"BAC\", \"AAPL\", \"TM\", \"WMT\",\n",
    "           \"JD\", \"INTU\", \"MA\", \"UL\", \"CVS\",\n",
    "           \"DIS\", \"AMD\", \"NVDA\", \"PBI\", \"TGT\"]\n",
    "\n",
    "ohlc = yf.download(tickers, period=\"max\")\n",
    "prices = ohlc[\"Adj Close\"]\n",
    "prices.tail()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "confident-plant",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>AAPL</th>\n",
       "      <th>AMD</th>\n",
       "      <th>BAC</th>\n",
       "      <th>BLK</th>\n",
       "      <th>CVS</th>\n",
       "      <th>DIS</th>\n",
       "      <th>INTU</th>\n",
       "      <th>JD</th>\n",
       "      <th>MA</th>\n",
       "      <th>NVDA</th>\n",
       "      <th>PBI</th>\n",
       "      <th>TGT</th>\n",
       "      <th>TM</th>\n",
       "      <th>UL</th>\n",
       "      <th>WMT</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2021-01-22</th>\n",
       "      <td>0.016074</td>\n",
       "      <td>0.013766</td>\n",
       "      <td>-0.006925</td>\n",
       "      <td>-0.009634</td>\n",
       "      <td>0.000540</td>\n",
       "      <td>0.008758</td>\n",
       "      <td>-0.018075</td>\n",
       "      <td>-0.001998</td>\n",
       "      <td>-0.016296</td>\n",
       "      <td>-0.011177</td>\n",
       "      <td>0.019858</td>\n",
       "      <td>0.003346</td>\n",
       "      <td>-0.022400</td>\n",
       "      <td>-0.004339</td>\n",
       "      <td>0.010217</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-01-25</th>\n",
       "      <td>0.027684</td>\n",
       "      <td>0.014441</td>\n",
       "      <td>-0.012361</td>\n",
       "      <td>-0.016421</td>\n",
       "      <td>-0.012277</td>\n",
       "      <td>-0.005151</td>\n",
       "      <td>-0.001120</td>\n",
       "      <td>0.036561</td>\n",
       "      <td>0.000608</td>\n",
       "      <td>-0.004321</td>\n",
       "      <td>0.047288</td>\n",
       "      <td>-0.009171</td>\n",
       "      <td>-0.008314</td>\n",
       "      <td>0.021958</td>\n",
       "      <td>-0.000888</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-01-26</th>\n",
       "      <td>0.001679</td>\n",
       "      <td>0.006162</td>\n",
       "      <td>-0.007060</td>\n",
       "      <td>-0.001563</td>\n",
       "      <td>0.013933</td>\n",
       "      <td>-0.013555</td>\n",
       "      <td>0.000988</td>\n",
       "      <td>-0.014332</td>\n",
       "      <td>-0.004526</td>\n",
       "      <td>-0.015967</td>\n",
       "      <td>0.810093</td>\n",
       "      <td>-0.012885</td>\n",
       "      <td>-0.005044</td>\n",
       "      <td>-0.001148</td>\n",
       "      <td>0.008960</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-01-27</th>\n",
       "      <td>-0.007684</td>\n",
       "      <td>-0.061979</td>\n",
       "      <td>-0.035876</td>\n",
       "      <td>-0.033331</td>\n",
       "      <td>-0.024384</td>\n",
       "      <td>-0.038511</td>\n",
       "      <td>-0.031190</td>\n",
       "      <td>-0.070950</td>\n",
       "      <td>-0.037260</td>\n",
       "      <td>-0.038518</td>\n",
       "      <td>-0.206897</td>\n",
       "      <td>-0.050186</td>\n",
       "      <td>-0.022880</td>\n",
       "      <td>-0.025616</td>\n",
       "      <td>-0.024880</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2021-01-28</th>\n",
       "      <td>-0.034985</td>\n",
       "      <td>-0.014858</td>\n",
       "      <td>0.016426</td>\n",
       "      <td>0.031700</td>\n",
       "      <td>0.002624</td>\n",
       "      <td>0.054285</td>\n",
       "      <td>0.018837</td>\n",
       "      <td>0.014652</td>\n",
       "      <td>0.027861</td>\n",
       "      <td>0.010315</td>\n",
       "      <td>-0.142461</td>\n",
       "      <td>0.029729</td>\n",
       "      <td>0.004627</td>\n",
       "      <td>-0.004382</td>\n",
       "      <td>-0.000626</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                AAPL       AMD       BAC       BLK       CVS       DIS  \\\n",
       "Date                                                                     \n",
       "2021-01-22  0.016074  0.013766 -0.006925 -0.009634  0.000540  0.008758   \n",
       "2021-01-25  0.027684  0.014441 -0.012361 -0.016421 -0.012277 -0.005151   \n",
       "2021-01-26  0.001679  0.006162 -0.007060 -0.001563  0.013933 -0.013555   \n",
       "2021-01-27 -0.007684 -0.061979 -0.035876 -0.033331 -0.024384 -0.038511   \n",
       "2021-01-28 -0.034985 -0.014858  0.016426  0.031700  0.002624  0.054285   \n",
       "\n",
       "                INTU        JD        MA      NVDA       PBI       TGT  \\\n",
       "Date                                                                     \n",
       "2021-01-22 -0.018075 -0.001998 -0.016296 -0.011177  0.019858  0.003346   \n",
       "2021-01-25 -0.001120  0.036561  0.000608 -0.004321  0.047288 -0.009171   \n",
       "2021-01-26  0.000988 -0.014332 -0.004526 -0.015967  0.810093 -0.012885   \n",
       "2021-01-27 -0.031190 -0.070950 -0.037260 -0.038518 -0.206897 -0.050186   \n",
       "2021-01-28  0.018837  0.014652  0.027861  0.010315 -0.142461  0.029729   \n",
       "\n",
       "                  TM        UL       WMT  \n",
       "Date                                      \n",
       "2021-01-22 -0.022400 -0.004339  0.010217  \n",
       "2021-01-25 -0.008314  0.021958 -0.000888  \n",
       "2021-01-26 -0.005044 -0.001148  0.008960  \n",
       "2021-01-27 -0.022880 -0.025616 -0.024880  \n",
       "2021-01-28  0.004627 -0.004382 -0.000626  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from pypfopt import expected_returns\n",
    "\n",
    "rets = expected_returns.returns_from_prices(prices)\n",
    "rets.tail()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "answering-tamil",
   "metadata": {},
   "source": [
    "## HRP optimization\n",
    "\n",
    "HRP uses a completely different backend, so it is currently not possible to pass constraints or specify an objective function."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "crazy-minority",
   "metadata": {},
   "outputs": [],
   "source": [
    "from pypfopt import HRPOpt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "determined-license",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "OrderedDict([('AAPL', 0.03921),\n",
       "             ('AMD', 0.02652),\n",
       "             ('BAC', 0.04092),\n",
       "             ('BLK', 0.04214),\n",
       "             ('CVS', 0.09277),\n",
       "             ('DIS', 0.06052),\n",
       "             ('INTU', 0.03645),\n",
       "             ('JD', 0.05214),\n",
       "             ('MA', 0.04269),\n",
       "             ('NVDA', 0.02312),\n",
       "             ('PBI', 0.08378),\n",
       "             ('TGT', 0.08712),\n",
       "             ('TM', 0.10045),\n",
       "             ('UL', 0.16135),\n",
       "             ('WMT', 0.11082)])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "hrp = HRPOpt(rets)\n",
    "hrp.optimize()\n",
    "weights = hrp.clean_weights()\n",
    "weights"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "existing-memphis",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "pd.Series(weights).plot.pie(figsize=(10, 10));"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "dramatic-spyware",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Expected annual return: 20.4%\n",
      "Annual volatility: 19.2%\n",
      "Sharpe Ratio: 0.96\n"
     ]
    }
   ],
   "source": [
    "hrp.portfolio_performance(verbose=True);"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "occupational-costume",
   "metadata": {},
   "source": [
    "## Plotting\n",
    "\n",
    "It is very simple to plot a dendrogram (tree diagram) based on the hierarchical structure of asset returns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "upset-meaning",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAagAAAEYCAYAAAAJeGK1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAelUlEQVR4nO3de5hdVZ3m8e9LQhAQQUzoliSQ2MaRCIhagLQIgqCJl2S8ktDc2gvdaoAeVC6jA3S6H0fx0qM9YdqMjQIKAWkHAwSxR7kYBUwA2xboaAgIiSDhroOAIb/5Y+2Ck+JUnZPsdc5ZVef9PE8e6py9WWulUnXevdZea21FBGZmZqXZqtcNMDMza8YBZWZmRXJAmZlZkRxQZmZWJAeUmZkVaXyvKp44cWJMmzatV9WbmVkhbr755gcjYtLQ93sWUNOmTWPlypW9qt7MzAoh6dfN3vcQn5mZFckBZWZmRXJAmZlZkRxQZmZWpLYCStIsSaskrZZ02jDnvF/S7ZJuk3Rh3maamVm/aTmLT9I4YBFwOLAWWCFpaUTc3nDODOB04A0R8YikXTrVYDMz6w/t9KD2A1ZHxJqIeBpYAswdcs6HgUUR8QhARDyQt5lmZtZv2gmoycC9Da/XVu81egXwCkk/lnSjpFnNCpJ0vKSVklauX79+y1psZmZ9IddC3fHADOBNwBTgekl7RcSjjSdFxGJgMcDAwMBmPYjqezfczXW3rs3S2NHo4NdMYdYB03rdDDOzrmmnB7UOmNrwekr1XqO1wNKI+GNE3AX8khRY2Vx361ruWvdYziJHjbvWPdbX4Wxm/amdHtQKYIak6aRgmgccOeScy4D5wNclTSQN+a3J2E4Apk/ekf/+0QNzF1u8089Z3usmmJl1XcseVERsABYAVwN3AJdExG2SFkqaU512NfCQpNuBa4BPRsRDnWq0mZmNfW3dg4qIZcCyIe+d0fB1ACdXf8zMzGrzThJmZlYkB5SZmRXJAWVmZkVyQJmZWZF69kTdUpW4IHhNtf6rpOnmXjhsZp3mHtQQJS4IftnkHXnZ5B173YxneeGwmXWDe1BN9OuC4HaV1JMzs7HLPSgzMyuSA8rMzIrkIb5RpJQJHKVN2vCEDbOxyT2oUaSUCRwlTdrwhA2zscs9qFHGEzg2VUovzszyc0BZbb0ceuz1cKOHF806xwHVI1vyob4lH8bd+AAdHHqc3oNhv14ONQ4OtzqgzDrDAdUjW/Khvrkfxt38AO3HoUcPL5p1lgOqhzr9oe4PUDMbzTyLz8zMiuQelI0apawDG9TrCRpDecKGjTUOKBs1ejkZo5nGe4IPP/Ykj/7+qZ615YknN7Cmx2vCHJCWmwPKRpVSJ2Ocfs5yHvv9U8WEZ6NuhGc3A9JB2D8cUGZD1FkCsLm68WFbcnhuLk/t7y8OKLMhurEEALwMYEuUcr/PusMBZdZENz7Q/WFrNjJPMzczsyK5B2VmWXRjGUC3pvZ7IkYZ3IMysyy68TiYbjzqxY9wKYd7UGaWzViYjOF7g+VoqwclaZakVZJWSzqtyfHjJK2X9LPqz4fyN9XMzPpJyx6UpHHAIuBwYC2wQtLSiLh9yKkXR8SCDrTRzMz6UDtDfPsBqyNiDYCkJcBcYGhAmZl11FiZiOFJGO1pZ4hvMnBvw+u11XtDvUfSzyVdKmlqs4IkHS9ppaSV69ev34Lmmlk/GwsTMTwJo325JklcDlwUEU9J+ivgPODQoSdFxGJgMcDAwEBkqtvM+kg3JmJ0sqcWpF5aJ3poY61n1k5ArQMae0RTqveeFREPNbz8GnB2/aaZmfVGJ3fO79Qu+J3YsLfXgddOQK0AZkiaTgqmecCRjSdIemlE3Fe9nAPckbWVZmZd1q3trkrdyLeEjXlbBlREbJC0ALgaGAecGxG3SVoIrIyIpcCJkuYAG4CHgeM62GYzszGj1LVjJawHa+seVEQsA5YNee+Mhq9PB07P2zQzM+tn3urIzMyK5IAyM7MiOaDMzKxIDigzMyuSA8rMzIrkgDIzsyL5eVBmZmPclmzdtKWb5ubcfcI9KDOzMW5LNtndkk1zc2+E6x6UmVkf6NbWTTm5B2VmZkVyQJmZWZEcUGZmViQHlJmZFckBZWZmRXJAmZlZkRxQZmZWJAeUmZkVyQFlZmZFckCZmVmRHFBmZlYkB5SZmRXJAWVmZkVyQJmZWZEcUGZmViQHlJmZFckBZWZmRXJAmZlZkdoKKEmzJK2StFrSaSOc9x5JIWkgXxPNzKwftQwoSeOARcBsYCYwX9LMJuftAJwE3JS7kWZm1n/a6UHtB6yOiDUR8TSwBJjb5Ly/Az4HPJmxfWZm1qfaCajJwL0Nr9dW7z1L0muBqRFx5UgFSTpe0kpJK9evX7/ZjTUzs/5Re5KEpK2ALwEfb3VuRCyOiIGIGJg0aVLdqs3MbAxrJ6DWAVMbXk+p3hu0A7AncK2ku4HXA0s9UcLMzOpoJ6BWADMkTZc0AZgHLB08GBGPRcTEiJgWEdOAG4E5EbGyIy02M7O+0DKgImIDsAC4GrgDuCQibpO0UNKcTjfQzMz60/h2ToqIZcCyIe+dMcy5b6rfLDMz63feScLMzIrkgDIzsyI5oMzMrEgOKDMzK5IDyszMiuSAMjOzIjmgzMysSA4oMzMrkgPKzMyK5IAyM7MiOaDMzKxIDigzMyuSA8rMzIrkgDIzsyI5oMzMrEgOKDMzK5IDyszMiuSAMjOzIjmgzMysSA4oMzMrkgPKzMyK5IAyM7MiOaDMzKxIDigzMyuSA8rMzIrkgDIzsyI5oMzMrEhtBZSkWZJWSVot6bQmx/9a0r9L+pmk5ZJm5m+qmZn1k5YBJWkcsAiYDcwE5jcJoAsjYq+I2Ac4G/hS7oaamVl/aacHtR+wOiLWRMTTwBJgbuMJEfF4w8vtgcjXRDMz60fj2zhnMnBvw+u1wP5DT5L0MeBkYAJwaLOCJB0PHA+w2267bW5bzcysj2SbJBERiyLiz4BTgU8Pc87iiBiIiIFJkyblqtrMzMagdgJqHTC14fWU6r3hLAH+c402mZmZtRVQK4AZkqZLmgDMA5Y2niBpRsPLtwO/ytdEMzPrRy3vQUXEBkkLgKuBccC5EXGbpIXAyohYCiyQdBjwR+AR4NhONtrMzMa+diZJEBHLgGVD3juj4euTMrfLzMz6nHeSMDOzIjmgzMysSA4oMzMrkgPKzMyK5IAyM7MiOaDMzKxIDigzMyuSA8rMzIrkgDIzsyI5oMzMrEgOKDMzK5IDyszMiuSAMjOzIjmgzMysSA4oMzMrkgPKzMyK5IAyM7MiOaDMzKxIDigzMyuSA8rMzIrkgDIzsyI5oMzMrEgOKDMzK5IDyszMiuSAMjOzIjmgzMysSA4oMzMrUlsBJWmWpFWSVks6rcnxkyXdLunnkn4gaff8TTUzs37SMqAkjQMWAbOBmcB8STOHnHYrMBARewOXAmfnbqiZmfWXdnpQ+wGrI2JNRDwNLAHmNp4QEddExBPVyxuBKXmbaWZm/aadgJoM3Nvwem313nA+CFzV7ICk4yWtlLRy/fr17bfSzMz6TtZJEpKOAgaAzzc7HhGLI2IgIgYmTZqUs2ozMxtjxrdxzjpgasPrKdV7m5B0GPAp4OCIeCpP88zMrF+104NaAcyQNF3SBGAesLTxBEmvAb4KzImIB/I308zM+k3LgIqIDcAC4GrgDuCSiLhN0kJJc6rTPg+8EPi2pJ9JWjpMcWZmZm1pZ4iPiFgGLBvy3hkNXx+WuV1mZtbnvJOEmZkVyQFlZmZFckCZmVmRHFBmZlYkB5SZmRXJAWVmZkVyQJmZWZEcUGZmViQHlJmZFckBZWZmRXJAmZlZkRxQZmZWJAeUmZkVyQFlZmZFckCZmVmRHFBmZlYkB5SZmRXJAWVmZkVyQJmZWZEcUGZmViQHlJmZFckBZWZmRXJAmZlZkRxQZmZWJAeUmZkVyQFlZmZFckCZmVmR2gooSbMkrZK0WtJpTY4fJOkWSRskvTd/M83MrN+0DChJ44BFwGxgJjBf0swhp90DHAdcmLuBZmbWn8a3cc5+wOqIWAMgaQkwF7h98ISIuLs6trEDbTQzsz7UzhDfZODehtdrq/c2m6TjJa2UtHL9+vVbUoSZmfWJrk6SiIjFETEQEQOTJk3qZtVmZjbKtBNQ64CpDa+nVO+ZmZl1TDsBtQKYIWm6pAnAPGBpZ5tlZmb9rmVARcQGYAFwNXAHcElE3CZpoaQ5AJL2lbQWeB/wVUm3dbLRZmY29rUzi4+IWAYsG/LeGQ1fryAN/ZmZmWXhnSTMzKxIDigzMyuSA8rMzIrkgDIzsyI5oMzMrEgOKDMzK5IDyszMiuSAMjOzIjmgzMysSA4oMzMrkgPKzMyK5IAyM7MiOaDMzKxIDigzMyuSA8rMzIrkgDIzsyI5oMzMrEgOKDMzK5IDyszMiuSAMjOzIjmgzMysSA4oMzMrkgPKzMyK5IAyM7MiOaDMzKxIDigzMyuSA8rMzIrUVkBJmiVplaTVkk5rcnwbSRdXx2+SNC17S83MrK+0DChJ44BFwGxgJjBf0swhp30QeCQiXg78A/C53A01M7P+0k4Paj9gdUSsiYingSXA3CHnzAXOq76+FHizJOVrppmZ9RtFxMgnSO8FZkXEh6rXRwP7R8SChnN+UZ2ztnp9Z3XOg0PKOh44vnr5n4BVuf4iZmY2au0eEZOGvjm+my2IiMXA4m7WaWZmo1M7Q3zrgKkNr6dU7zU9R9J4YEfgoRwNNDOz/tROQK0AZkiaLmkCMA9YOuScpcCx1dfvBX4YrcYOzczMRtByiC8iNkhaAFwNjAPOjYjbJC0EVkbEUuCfgQskrQYeJoWYmZnZFms5ScLMzKwXvJOEmZkVyQFlZmZFckCZmVmRHFAdJumcXreh2yS9LGNZ20p6qaRtc5VpZqODJ0kMIelwYE/gpoj4SYbyHo+IF9VvWct6TouIz3a6njbasQ3wRESMq1nOIaQ9HV8LCAjgFuD0iPhB7YaOQZLOaHVORCzscBvGAWdGRMu2mLXS1z0oSRdJ+lDD61OAK4AjgX+ttnUaLf5rrxvQoNY+jJIGgGXATcDhpE2K3wL8FLhc0r61W7hpfTMlXSLpPklPVf+9pMmmyB0jaacMxZwFzAdeDsxo8uflGepoZTzwqS7UMypJ2l7S9g2vJenDkr4sKcvyHEl7tDh+/EjHc8nx+1NsD0rSBaSr5mFFxDE167gHGIiIByRtBfwW+OuI+BdJs4HPRsSra9bxFC12d89xtSnpdxGxQ91yMrSjdg9K0sXAf0TEmU2OnQm8KiLeX6OZjeXNAG4GrgO+A/wGmAy8CzgY2DciOrJnZNXbeBtpkfvbI6LWMKakk4BjgBcA5wPfjIihu750VPXv/4eIyHLxK+kDTd7+I/Br4MZqA+sc9RxH2k/0eSEh6SLgyoj4ZoZ6rgAujogLqtdfBI4Dfkj6eftcRHyxZh3rgIMi4s4mx04CzoiIl9SpY4S6X0K6wD8W2CsitqlVXsEB9bwPp6Ei4m9r1vHs8Juk1wHXAjtFxDPVbuyPRMRONet4GvjWCKdERDT7Jdzcev4AfJQRei8RcW7detpoR46Augd4fUT8psmxXYGfRsSUGs1sLO9c0gfqx5oc+0fghRHxlznqaij3NaQgORKYCFwEfDkiVmQqfybpA2Ie8EvSkwa+HRFP5Si/Rd1ZhngbyrumydtbA7sDT5OC/T8y1HMj8JGIuLXJsVcD/xQRB2So5z5gj4h4tNqZ50FgbkRcI2k/4PyIeGXNOj4BnAi8MSJ+3fD+qcAnSEF8c506htQ3Hngn6Wf6baRe9NnAVyLivlpllxpQ3SBpDXBoRNxd/aO+JSLeUh17IfDrulcaXbwHtQH40QinREQcmqmuexm+dytg15oBNeL3LGdvsdp5/7CIuKvJsWnANRExPUM9fwIcRbpafiXwf0nB9EVSj/CBunU0qXM88BngZNLP9g8zlTvSz9EEUm8jS0C1aMcpwCERMTtDWQ9GxMQtPb4Z9TwWETtWX/85cEVE7NzseM16Pg18gBRS6ySdBXwEODwifl63/KqOfUmhNL9661LgQuASYO8cP9Nd3c28Lkl7ku5F/CIivp+hyK8BV0q6mvSNPqHh2EHAHRnq6NZzsZ6IiEO6VNdRXapnODmvqiYBdw9z7B5SDyeHtcCjwELSEM8DAJKyP9yzugcx2IO6k/RA0doTfhr8c4vj92SsayT/g9QjyGGcpJ0j4uGhByTtTNrmLYffSNq7Com30HBRWd2HzNLLjYi/l/QC4IeSvge8jxTmt+cov3ITaVPwE0g99A0AkrL9fhYbUFUYXQDsAdwI/C3wL8BqYA9Jn4qIr9SpIyI+U43XDgAnRcRFDYcnka5u6xqpVzMqRcR1Ha5i+2qYrxkB2+WsbLiNjSNiY8Zftm8B7yZ9oO4q6cKI+PdMZQMg6QTShdZ2pN+dN0bEvTnrAMjRo8xka+CZTGX9hNTj+EKTY38J3JCpni8A35f0E+CtpJ+JQW8FavduGpZ5nEt67t7gxcqTg8ciYk3dekgXW0eTLvTnSvoWcBUZLyCLHeKTdC3pxvUS0hX7R4F3RsRySQcA50XEK2rW8TbgexGxsW57R6hjMvCGiLikev1V0i/WoP+W40a2pF9ExJ51y2mzrvObvD144/rSuldpkg5udU6ukKyGRofrXYh0L2zrYY5vbl3bkXb7PwY4BLgdeBlpIkbtK1tJG0kPAV3JMB8SdScWVfUI+DBpOcYtEfGNumVuQRu2I00++pMcE2aq+z8/AL5OuhC+D3gp8B7SsOyhEbGybj1VXQeTLopviojlDe/PId33rnVRW/0cBMOP3kTOIVhJB5F+pt9H+hx4IeneYO3lICUH1CPAzhER1c3ExyPiBQ3Ha9/bkfRbYCPp6va83Fe0VR1fBu4c7O1J+h1paAJS73BdRJyUu95OGmYCy9bAdOAdwJERcWWN8ltNGgnS0MKtdXsIko5tdU5EnFenjmHq3Y109Xk0KaQuq/tB242JRVU9XyRN8PgR8EZgcbMZlzkMc79za9LQ603AEblmKlYXvmcDB5CW4Gwk9ZxOiYhcPagxS2kx/btJPbZDSb+ftZaElBxQmwSQpIeH3EzMEVDjgNmkD4l3kq4+zwe+leumtaRVpB7Ug9XrRyLixdXXE4EfRcSI6xbarGekoQ6R+apphHYcRpqeP1CjjGYzt4Z6EWmywSkRsWhL6ypB9cF4TER8pGY584cMU3dEFRpvjohfVjMGvxsRMzpUV7Pe9Abgnk4MX1Z1bgu8mNSb+UP13sxMvdyWC6Wjg4ucJW0N/CAiDspQ1m4jHJ4CHBgRZ9eqo+CA+gPQOPX3K6Spk4P+Z0Rkuxch6UXAEaThxP2BfyX1qi6tWe6j0TBVXdLHGj9QM87aeYD0LK7zgO/S5GZrNFkXkVs1/PPwYAh3uK5XkYZop7Y8efgyWg55RUSzIc0tre9tpF7HzqR/r+sj4qpMZXdrxujQi8eH6s52HaGuKyPi7Z0ou426s67pqcr8eqtzIvOyhiH1Z1sG0DCUCJsOJw4OL9a+KC45oK4ldbFhmLHUTs1ak/R60hTg3Wp/g1Nw7BPDr+n5t4iYVKeOqqzxpN7gMcCBpKccnx8RP65b9ma2YzKwvFs30iV9NiJOq/H/byRNvLmf5j9nkelqcwJpd4wDSPeIBhcEv440CWh21Fx0mnP6fat6gL157vt1C/Cahte5bsJ3LXQb6uvYmp4h9cxk0wuV5RFxW67yR6g3Z0DdCmxLuij+JulnehMRUWsSS8kBtT3waaobscBnooMLDat/uHeRfjDfDPyY1IOqdf9BaRX62oj4ZJNjXwCmRsQRdepoUu5OpN7g0cAupIWAOabMD5bfbDPYrYFppH+zn0TEqbnq6yRJ/0C6uftvpOHdyzrxc6a0SHIeMKdxaErSVOAy0jTdWnspSnoCeDsjLG2IDGuhunkTvou9wo6v6anqEWnW27HAOp67UNmVNPPyA8PNKs1Uf+6F1HuS/i5HkJblnA98Z3BotHb5BQfUuaSZLt8jXclcExEnjPx/bVE9gzNQ3kva6ugC4IJoWIFds/wZpCvk5aTZQfeTZge9m3QFtX9E/CpHXQ11voj0YXhMVdc7MgdUsw+oZ0jrXy4GFkbEk7nq67TqXuQs0vfrINJ+jOc1zrDKUMcK4OMRcX2TYwcDX4qI19Ws4xnSTMqRgiPbTvPdoLQTy5KRzsk0M3EjaeLNiWy6puc+4NUZA+qvgFNJkztWNLy/L2nU5gsR8U816xjpPtd44NTc96OVtoo7nDTjcTZp1uMttcstOKDuA14bEfdVV5nX5x42knQXsCPwbdIHUs7FjI31vBw4EziMNPvoIdKU1rNyhVP1AzKbdDVzEGmI74KoOWW130jakbTZ6cmkVfftTNhop9xHgZc2u7KsbsrfX/deZLeHw4Zpw6uAYyPilEzlPUXaDWNYmWYmnkUacfhT4HLSzN6rSBdd+2QMqOWkSURXNDn2DtJu/W+oWUfX73NJGlxvdSRwF6kn+LzdWTa73IIDasRZfJnq+BSwY7NfJkmfJQ333Fizjm7NrLofeITUA7wMeF4PJtd9gbGoCqZ5pF+ySaQx9a9ExCOZyh9xMkyOyTK9CqhqNurgZIJ9gKsi4h2Zyu72PaiOrempyn8Y2D0iftfk2A6k2YnZJxhJ2oV0b/qOXKMpSjtszCf9u+9A+uz5ZkRk20mk5IAaOp5+GTC34XXt8XRJVwLnRJM1O5JmAR+LiHfWrKNbY+itFhtnuy8wlkgavCF+IGn24wWdmFii1pv51p6V2q1JElVdW5MmExxLGh69l3Qf5cAcQzsN9fRkl349t6Zn8J70rVFzTU9VbjcuVCYD/0h6TM0NpN0rricNw+9EWtIw4rBpm/U8SeotXUC6jfE8tT+jCw6ouxl5y4za4+lK2xzt1mymSTWb556I2LVmHd2aWXUEcF1E3N/pusYSPbf7whVA0xu7kedxKNfS+vEx3dpLsRZJi0g3xf9IGh6/MCJuzH2/pqrrf0XN9WE16h7sddxP2jaq9r6JbUxkuTwith/mWLt1XA48QJrocQTp1sIJEfF/JM0F/i4i9q5TR1XP3XT6M7rUgOqGarrsLiPcF3igbrh0cWbVL4E/I20Oej3p0SHX5+xuj0WSvsHIv2TjctyEH0uqyRgPk2ZsLomIx6r3OxFQLaf4N5t4sgX1tOp1HJtjqL6ND/Xaex1Keoh0v/NppS2hHgW2GZwdmKOX1i39HlArgL+PiO82OTYX+HTdbn03Z1ZJ+lPSzMCDqv/uSZrKej2pd/W1HPX0A0l7Uz2zqW4vuirvp8A3gIty3dfqFaXHkBxT/ZlMWt91IXAOaUFrzoAabreIIAXH9jmGrrvV6+iGVvfvS5hM07aI6Ns/pBu795PGmreq3tuqen0fMD9DHY/38O/3YuCU6u/4TK+/36X/IU2OOIm07u4ZUi/0fZnKPglYQZq88h1gDjC+13/nDH+vNwL/m3SVvrH6+lUdrnMX4MvA48CiTGU+BEyovt6O9DBENRx/rNff6834uzwBHELaD+/Q6vvU+Pr/9bqN7f7p6x4UgKSTSY/y2Ib0dMuJpG2CzoyIL2Uov2tXK9UiwH1IPaiDgD8nLQT8MWnPv293ox2jSXWzfw5p/cZbSbtKXAT8F+CVkflBgko7CBwF/AVpFf4S0hKHbE847QWlZw+9izRp4pDIsC1Qkzp2Iq0h+ggp5BdGxN2Zyh4zvY5uDCN2S98HFDy7sPUA4CWkK6kbIuLxTGV3a5LElaTtZlaRFgUvJ+3o8LzprPacatrvRtLw24VRzUDrxP2UIfWKdFV7FKnHfm9E7NWJurpF0l6kgDoxIiZkLHd74OPA35D2yDwjIlblKr+qo9Ws4dqTF2zzFfvAwm6qwujqDpXdrSmyryD1/O4iTZRY7XBqy89JM7X2B34l6a7owj2iiAhJvyfNHNxA5ocwdoukSTy3BurVpEdw/EXG8j9BGqa+AXhTZHpceRMPkB7wN+ihIa87cqFiI3MPagxpMkliItXwHmkzyp/1rnXlkrQ7z9303w34PnAwsEdketZQQ11TSTsWHEPateBS0qa+tWeidcsIw6J/Q/qe5ZwksZE0Y/AOhn8IY+3NfK1MDqgxTNKLSU8+PRmYFF6o25KkA0nh8X5Sz+bcyLBtj6TjSL2MA4FrSDtAZ9tUs5u6OSyqHj1Q0srgIb4xpMkkiQNJU3FXsulwhQ0j0gaxyyWdyHO72+dwKukD/ajcvbIe6OawaEceSmijg3tQY4SkwWcNTSA9Cvs60vqnG2IU7Sw+Vik9JbjVqvs3d6s9dXVrWFRpQ+eRRIyyHdqtfQ6oMULSaaRAWhERf+x1e2xTkj44zKHJpEc8bBcZnxDdTZ0aFjVzQJn1gNLjxE8n3SMcfIbW2t62qp6GtVDHRMTsXrfHRj8HlFkXVWvuPgksIG1Qe1ZE3NnbVpmVaateN8CsH0jaVtLpwBpgD9JjKY52OJkNzz0osy6Q9FvSBeHnSbMqnycy7GpvNpY4oMy6oBvPzjEbaxxQZmZWJN+DMjOzIjmgzMysSA4oMzMrkgPKzMyK9P8B84zaG1MSkEMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from pypfopt import plotting\n",
    "\n",
    "plotting.plot_dendrogram(hrp); "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "brave-shock",
   "metadata": {},
   "source": [
    "If you look at this dendogram closely, you can see that most of the clusters make a lot of sense. For example, AMD and NVDA (both semiconductor manufacturers) are grouped."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "macro-found",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pyportfolioopt",
   "language": "python",
   "name": "pyportfolioopt"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
